package com.achievement.domain.dto;

import com.achievement.domain.dto.author.ArtProductAuthorDTO;
import com.common.validate.edit;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 科研成果-艺术作品
 * 
 * @author ruoyi
 * @date 2025-02-27
 */
@Data
@ApiModel(value = "科研成果-艺术作品DTO")
public class ArtProductDTO {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    @NotNull(message = "id不能为空", groups = {edit.class})
    private String id;
    @ApiModelProperty(value = "作品名称")
    private String name;
    @ApiModelProperty(value = "作品类型")
    private String typeId;
    @ApiModelProperty(value = "所属单位")
    private String unitId;
    @ApiModelProperty(value = "发表时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date publicationDate;

    private String honorUnit;
    private String isHonored;
    private String honorName;
    private String honorNumber;
    private Date honorDate;
    private String honorsn;

    @ApiModelProperty(value = "学校署名")
    private String schoolSign;
    @ApiModelProperty(value = "电子版附件")
    private String fileIds;
    @ApiModelProperty(value = "备注")
    private String note;
    @ApiModelProperty(value = "")
    private String divisionId;
    @ApiModelProperty(value = "完成人数量")
    private Integer authorNumber;
    @ApiModelProperty(value = "审核状态")
    private String checkstatus;

    @ApiModelProperty(value = "完成人列表")
    private List<ArtProductAuthorDTO> authorList;

    @ApiModelProperty(value = "提交类型 -> -1:暂存,1:提交,2:保存并通过")
    private Integer submitType;

    private Boolean isAuditor;

    private String taskId;
}
